/*
 * TestClass.h
 *
 *  Created on: 06-07-2013
 *      Author: Krzychu
 */

#ifndef TESTCLASS_H_
#define TESTCLASS_H_

#include <vector>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>

#include "../Algorithms/IAlgorithm.h"

class TestClass
{
public:
	TestClass(std::ostream& outputStream);
	virtual ~TestClass();
	void test();
	void addAlgorithm(IAlgorithm*);
private:
	void preprocess();
	void consoleWrite(int i, int end, int start, searchResult result);
	void fileWrite(int i, int end, int start, searchResult result);
	std::vector<IAlgorithm*> algorithms;
	std::ostream& outputStream;
	std::string text;
	std::string pattern;
};

#endif /* TESTCLASS_H_ */
